home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et3_0-a1.lha / et3 / src / EvtHandler.h < prev    next >
C/C++ Source or Header  |  1992-06-15  |  1KB  |  60 lines

  1. #ifndef EvtHandler_First
  2. #ifdef __GNUG__
  3. //pragma once
  4. #pragma interface
  5. #endif
  6. #define EvtHandler_First
  7.  
  8. #include "Object.h"
  9. #include "Token.h"
  10.  
  11. class Clipper;
  12.  
  13. enum EvtFlags {
  14.     eEvtDefault = eObjDefault,
  15.     eEvtLast    = eObjLast + 0
  16. };
  17.  
  18. //---- EvtHandler --------------------------------------------------------------
  19.  
  20. class EvtHandler: public Object {
  21. public:
  22.     MetaDef(EvtHandler);
  23.     
  24.     EvtHandler();
  25.     ~EvtHandler();
  26.  
  27.     int GetId();
  28.     void SetId(int i);
  29.  
  30.     virtual EvtHandler *GetNextHandler();  
  31.     EvtHandler *FindNextHandlerOfClass(Class *cla);
  32.     
  33.     virtual class Menu *GetMenu();
  34.     virtual void DoSetupMenu(class Menu*);
  35.     virtual class Command *DoMenuCommand(int);
  36.     virtual void PerformCommand(Command *);
  37.     virtual void SetFirstHandler(EvtHandler*);
  38.     virtual bool KbdFocus(bool in);
  39.     virtual Command *Input(Point lp, Token &t, Clipper *cl);
  40.     
  41.     virtual Command *DoIdleCommand();
  42.     virtual void Send(int id= cIdNone, int part= cPartAnyChange, void *val= 0);
  43.     virtual void Control(int id, int part, void *val);
  44.     virtual void SendDown(int id, int part, void *val);
  45.     virtual void ExtCommand(int from, char *req, char *args, int len,
  46.                             char *&ret, int &retlen);
  47.     virtual void InputKbd(Token &t);
  48.  
  49.     OStream& PrintOn(OStream&);
  50.     IStream& ReadFrom(IStream&);
  51.  
  52. private:
  53.     int id;
  54. };
  55.  
  56. extern EvtHandler *gFirstHandler;
  57.  
  58. #endif
  59.  
  60.